Optical Character Recognition Systems (OCRS) have become increasingly useful for reading data in a wide variety of applications. Portable OCRS are used by store clerks to read pricing and inventory numbers from the price tags of merchandise. Stationary OCRS are used to sort the large volumes of incoming mail received by banks, credit institutions, taxing authorities, postal services, and department stores and to store information from other documents, in digital form, in a memory device. Such stationary OCRS must be capable of reading information on the envelopes or other documents at a very fast rate with a high degree of accuracy.
The vast majority of data that is read by an OCRS is comprised of a black character--of varying shades--against a white background--also of varying shades. The data may be comprised of other, colored data or backgrounds other than white. However, the data will be dark or "black" with respect to the lighter or "white" background. For the purposes of this application, the term "black" will be used to refer to the data, and the term "white" will be used to refer to the background, it being understood that any other colors may be used as long as the data is dark with respect to a lighter background.
In order for an OCRS to recognize or read any given character, it is crucial that the OCRS accurately distinguish the color black from the color white. The OCRS then match the shape or outline of the black characters with a library cf known, stored characters to determine which character has been read.
There are several popular types of OCRS. One type uses an array of photoelectric sensors or pixels to scan a line of print. Each sensor emits an analog signal corresponding to the amount of light reflected by the scanned paper back to the sensor. These analog signals are converted into a digital form of `ones` and `zeros` corresponding to the colors `white` and `black`. The purpose of this conversion is to create a high contrast, digital image of the signal for presentation to the recognition unit of the OCRS.
The determination as to whether a particular pixel is sensing the color "black" or the color "white" is difficult due to the many different shades of "black" and "white" that appear in typed or printed form. Indeed, the "blackness" sensed by one pixel may differ from that sensed by an adjacent pixel even thought both pixels are sensing the same character. Also, the same pixel may sense different degrees of `blackness` or `whiteness` in the same document or in different documents. These variations are caused by unevenness in the printing of the characters by differences in the sensors themselves and by uneveness of the surface or the position of the document being read and differences in the documents themselves.
Many ways have been developed to make the decision as to whether a pixel is sensing a portion of a black character or a portion of a white background. One way is to compare the value sensed by the pixel with the values sensed by surrounding pixels to determine its relative "blackness" or "whiteness".
Regardless of which procedure is used, this crucial "black/white" decision often requires the use of a series of decision points or algorithms. These algorithms are often very complex. Regardless of which algorithm is used, there will always be some data that is not readable or is incorrectly read by the OCRS.
To improve the reading accuracy, manufacturers of OCRS are continually re-evaluating and changing these decision algorithms in an attempt to achieve higher degrees of accuracy. Unfortunately, it is often difficult and expensive to change the decision algorithms since they are typically implemented with discrete logic connected by printed wiring. To change the algorithms requires a modification to the printed wiring using etch cut and jumper techniques if the change is simple or re-layout of the printed circuit board if the change is extensive. It is therefore desirable to decrease the time and expense involved in changing the black/white decision algorithms.